Methods and apparatus for generating haptic interaction for virtual reality

ABSTRACT

Virtual reality apparatus includes a display generator to generate images of a virtual environment, including a virtual representation of a display object and at least part of an avatar, for display to a user; a haptic interface including one or more actuators to provide a physical interaction with the user in response to a haptic interaction signal; a detector arrangement configured to detect two or more haptic detections applicable to a current configuration of the avatar relative to the object in the virtual environment; and a haptic generator to generate the haptic interaction signal in dependence upon the two or more haptic detections.

BACKGROUND Field of the Disclosure

This disclosure relates to virtual reality systems and methods.

Description of the Prior Art

The “background” description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description which may nototherwise qualify as prior art at the time of filing, are neitherexpressly or impliedly admitted as prior art against the presentdisclosure.

A head-mountable display (HMD) is one example of a head-mountableapparatus for use in a virtual reality system in which an HMD wearerviews a virtual environment. In an HMD, an image or video display deviceis provided which may be worn on the head or as part of a helmet. Eitherone eye or both eyes are provided with small electronic display devices.

It has been proposed to provide so-called haptic feedback or interactionto a user, such as a user viewing a virtual world (for example via anHMD). This can involve providing non-visual and non-auditory sensoryinteraction with the user, for example via one or more actuatorsconfigured to stimulate the user's sense of touch.

Although the original development of HMDs and virtual reality wasperhaps driven by the military and professional applications of thesedevices, HMDs are becoming more popular for use by casual users in, forexample, computer game or domestic computing applications.

The foregoing paragraphs have been provided by way of generalintroduction, and are not intended to limit the scope of the followingclaims. The described embodiments, together with further advantages,will be best understood by reference to the following detaileddescription taken in conjunction with the accompanying drawings.

SUMMARY

An example embodiment provides virtual reality apparatus comprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a haptic interface comprising one or more actuators to provide aphysical interaction with the user in response to a haptic interactionsignal;

a detector arrangement configured to detect two or more hapticdetections applicable to a current configuration of the avatar relativeto the object in the virtual environment; and

a haptic generator to generate the haptic interaction signal independence upon the two or more haptic detections.

Another example embodiment provides virtual reality apparatuscomprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a detector arrangement configured to detect two or more hapticdetections applicable to a current configuration of the avatar relativeto the object in the virtual environment; and

a haptic generator to generate a haptic interaction signal, to control ahaptic interface comprising one or more actuators to provide a physicalinteraction with the user in response to a haptic interaction signal, independence upon the two or more haptic detections.

Another example embodiment provides a virtual reality apparatuscomprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a haptic interface comprising one or more actuators to provide aphysical interaction with the user in response to a haptic interactionsignal; and

a haptic generator to generate the haptic interaction signal in responseto a configuration of the avatar relative to the object in the virtualenvironment;

in which the haptic generator is configured to detect an avatar contactregion of the avatar touching the object, and generate the hapticinteraction signal in dependence upon:

simulated haptic interaction of a second object relative to the displayobject in the virtual environment; and

a simulated propagation path between the display object and the secondobject in the virtual environment.

Another example embodiment provides a virtual reality apparatuscomprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a haptic generator to generate the haptic interaction signal in responseto a configuration of the avatar relative to the object in the virtualenvironment;

in which the haptic generator is configured to detect an avatar contactregion of the avatar touching the object, and generate the hapticinteraction signal in dependence upon:

simulated haptic interaction of a second object relative to the displayobject in the virtual environment; and

a simulated propagation path between the display object and the secondobject in the virtual environment.

Another example embodiment provides a method comprising:

generating images of a virtual environment, including a virtualrepresentation of a display object and at least part of an avatar, fordisplay to a user;

generating a haptic interaction signal in response to a configuration ofthe avatar relative to the object in the virtual environment, bydetecting an avatar contact region of the avatar touching the object,and generating the haptic interaction signal in dependence upon:

-   -   simulated haptic interaction of a second object in the virtual        environment; and    -   a simulated propagation path between the display object and the        second object in the virtual environment; and        providing a physical interaction with the user in response to a        haptic interaction signal.

Another example embodiment provides a method comprising:

generating images of a virtual environment, including a virtualrepresentation of a display object and at least part of an avatar, fordisplay to a user; and

generating a haptic interaction signal in response to a configuration ofthe avatar relative to the object in the virtual environment, bydetecting an avatar contact region of the avatar touching the object,and generating the haptic interaction signal in dependence upon:

-   -   simulated haptic interaction of a second object in the virtual        environment; and    -   a simulated propagation path between the display object and the        second object in the virtual environment.

Another example embodiment provides a method comprising:

generating images of a virtual environment, including a virtualrepresentation of a display object and at least part of an avatar, fordisplay to a user;

detecting two or more haptic detections applicable to a currentconfiguration of the avatar relative to the object in the virtualenvironment;

generating a haptic interaction signal in dependence upon the two ormore haptic detections; and

providing, by a haptic interface comprising one or more actuators, aphysical interaction with the user in response to a haptic interactionsignal.

Another example embodiment provides a method comprising:

generating images of a virtual environment, including a virtualrepresentation of a display object and at least part of an avatar, fordisplay to a user;

detecting two or more haptic detections applicable to a currentconfiguration of the avatar relative to the object in the virtualenvironment; and

generating a haptic interaction signal, to control a haptic interfacecomprising one or more actuators to provide a physical interaction withthe user in response to a haptic interaction signal, in dependence uponthe two or more haptic detections.

Example embodiments provide computer software which, when executed by acomputer, causes the computer to perform the steps of any one of themethods defined above.

Example embodiments provide a machine-readable, non-transitory storagemedium which stores such computer software.

Various other aspects and features of the present disclosure are definedin the appended claims and within the text of the accompanyingdescription and include at least a head mountable apparatus such as adisplay and a method of operating a head-mountable apparatus as well asa computer program.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1 schematically illustrates an HMD worn by a user;

FIG. 2 is a schematic plan view of an HMD;

FIG. 3 schematically illustrates the formation of a virtual image by anHMD;

FIG. 4 schematically illustrates another type of display for use in anHMD;

FIG. 5 schematically illustrates a pair of stereoscopic images;

FIGS. 6 and 7 schematically illustrate a user wearing an HMD connectedto a Sony® PlayStation 3® games console;

FIG. 8 schematically illustrates a change of view of user of an HMD;

FIGS. 9a and 9b schematically illustrate HMDs with motion sensing;

FIG. 10 schematically illustrates a position sensor based on opticalflow detection;

FIG. 11 schematically illustrates image processing carried out inresponse to a detected position or change in position of an HMD;

FIG. 12 schematically illustrates a virtual reality system;

FIG. 13 schematically illustrates an example avatar touching a virtualobject;

FIG. 14 schematically illustrates a haptic glove;

FIGS. 15 and 16 schematically illustrate sensors and actuators;

FIG. 17 schematically illustrates operations of a haptic glove;

FIG. 18 schematically illustrates a display object;

FIG. 19 schematically illustrates example operations of a hapticgenerator;

FIG. 20 schematically illustrates example operations of a hapticgenerator;

FIGS. 21-23 schematically illustrate examples of display objects;

FIG. 24 schematically illustrates example operations of a hapticgenerator;

FIG. 25 schematically illustrates example operations of a hapticgenerator;

FIG. 26 schematically illustrates example operations of a hapticgenerator; and

FIGS. 27 to 29 schematically illustrate respective methods.

DESCRIPTION OF THE EMBODIMENTS

Referring now to FIG. 1, a user 10 is wearing an HMD 20 (as an exampleof a generic head-mountable apparatus or virtual reality apparatus). TheHMD comprises a frame 40, in this example formed of a rear strap and atop strap, and a display portion 50.

Note that the HMD of FIG. 1 may comprise further features, to bedescribed below in connection with other drawings, but which are notshown in FIG. 1 for clarity of this initial explanation.

The HMD of FIG. 1 completely (or at least substantially completely)obscures the user's view of the surrounding environment. All that theuser can see is the pair of images displayed within the HMD.

The HMD has associated headphone audio transducers or earpieces 60 whichfit into the user's left and right ears 70. The earpieces 60 replay anaudio signal provided from an external source, which may be the same asthe video signal source which provides the video signal for display tothe user's eyes. A boom microphone 75 is mounted on the HMD so as toextend towards the user's mouth.

The combination of the fact that the user can see only what is displayedby the HMD and, subject to the limitations of the noise blocking oractive cancellation properties of the earpieces and associatedelectronics, can hear only what is provided via the earpieces, mean thatthis HMD may be considered as a so-called “full immersion” HMD. Notehowever that in some embodiments the HMD is not a full immersion HMD,and may provide at least some facility for the user to see and/or hearthe user's surroundings. This could be by providing some degree oftransparency or partial transparency in the display arrangements, and/orby projecting a view of the outside (captured using a camera, forexample a camera mounted on the HMD) via the HMD's displays, and/or byallowing the transmission of ambient sound past the earpieces and/or byproviding a microphone to generate an input sound signal (fortransmission to the earpieces) dependent upon the ambient sound.

A front-facing camera 122 may capture images to the front of the HMD, inuse. A Bluetooth® antenna 124 may provide communication facilities ormay simply be arranged as a directional antenna to allow a detection ofthe direction of a nearby Bluetooth transmitter.

In operation, a video signal is provided for display by the HMD. Thiscould be provided by an external video signal source 80 such as a videogames machine or data processing apparatus (such as a personalcomputer), in which case the signals could be transmitted to the HMD bya wired or a wireless connection 82. Examples of suitable wirelessconnections include Bluetooth® connections. Audio signals for theearpieces 60 can be carried by the same connection. Similarly, anycontrol signals passed from the HMD to the video (audio) signal sourcemay be carried by the same connection. Furthermore, a power supply 83(including one or more batteries and/or being connectable to a mainspower outlet) may be linked by a cable 84 to the HMD. Note that thepower supply 83 and the video signal source 80 may be separate units ormay be embodied as the same physical unit. There may be separate cablesfor power and video (and indeed for audio) signal supply, or these maybe combined for carriage on a single cable (for example, using separateconductors, as in a USB cable, or in a similar way to a “power overEthernet” arrangement in which data is carried as a balanced signal andpower as direct current, over the same collection of physical wires).The video and/or audio signal may be carried by, for example, an opticalfibre cable. In other embodiments, at least part of the functionalityassociated with generating image and/or audio signals for presentationto the user may be carried out by circuitry and/or processing formingpart of the HMD itself. A power supply may be provided as part of theHMD itself.

Some embodiments of the disclosure are applicable to an HMD having atleast one electrical and/or optical cable linking the HMD to anotherdevice, such as a power supply and/or a video (and/or audio) signalsource. So, embodiments of the disclosure can include, for example:

(a) an HMD having its own power supply (as part of the HMD arrangement)but a cabled connection to a video and/or audio signal source;

(b) an HMD having a cabled connection to a power supply and to a videoand/or audio signal source, embodied as a single physical cable or morethan one physical cable;

(c) an HMD having its own video and/or audio signal source (as part ofthe HMD arrangement) and a cabled connection to a power supply;

(d) an HMD having a wireless connection to a video and/or audio signalsource and a cabled connection to a power supply; or

(e) an HMD having its own video and/or audio signal source and its ownpower supply (both as part of the HMD arrangement).

If one or more cables are used, the physical position at which the cable82 and/or 84 enters or joins the HMD is not particularly important froma technical point of view. Aesthetically, and to avoid the cable(s)brushing the user's face in operation, it would normally be the casethat the cable(s) would enter or join the HMD at the side or back of theHMD (relative to the orientation of the user's head when worn in normaloperation). Accordingly, the position of the cables 82, 84 relative tothe HMD in FIG. 1 should be treated merely as a schematicrepresentation.

Accordingly, the arrangement of FIG. 1 provides an example of ahead-mountable display system comprising a frame to be mounted onto anobserver's head, the frame defining one or two eye display positionswhich, in use, are positioned in front of a respective eye of theobserver and a display element mounted with respect to each of the eyedisplay positions, the display element providing a virtual image of avideo display of a video signal from a video signal source to that eyeof the observer.

FIG. 1 shows just one example of an HMD. Other formats are possible: forexample an HMD could use a frame more similar to that associated withconventional eyeglasses, namely a substantially horizontal leg extendingback from the display portion to the top rear of the user's ear,possibly curling down behind the ear. In other (not full immersion)examples, the user's view of the external environment may not in fact beentirely obscured; the displayed images could be arranged so as to besuperposed (from the user's point of view) over the externalenvironment. An example of such an arrangement will be described belowwith reference to FIG. 4.

In the example of FIG. 1, a separate respective display is provided foreach of the user's eyes. A schematic plan view of how this is achievedis provided as FIG. 2, which illustrates the positions 100 of the user'seyes and the relative position 110 of the user's nose. The displayportion 50, in schematic form, comprises an exterior shield 120 to maskambient light from the user's eyes and an internal shield 130 whichprevents one eye from seeing the display intended for the other eye. Thecombination of the user's face, the exterior shield 120 and the interiorshield 130 form two compartments 140, one for each eye. In each of thecompartments there is provided a display element 150 and one or moreoptical elements 160. The way in which the display element and theoptical element(s) cooperate to provide a display to the user will bedescribed with reference to FIG. 3.

Referring to FIG. 3, the display element 150 generates a displayed imagewhich is (in this example) refracted by the optical elements 160 (shownschematically as a convex lens but which could include compound lensesor other elements) so as to generate a virtual image 170 which appearsto the user to be larger than and significantly further away than thereal image generated by the display element 150. As an example, thevirtual image may have an apparent image size (image diagonal) of morethan 1 m and may be disposed at a distance of more than 1 m from theuser's eye (or from the frame of the HMD). In general terms, dependingon the purpose of the HMD, it is desirable to have the virtual imagedisposed a significant distance from the user. For example, if the HMDis for viewing movies or the like, it is desirable that the user's eyesare relaxed during such viewing, which requires a distance (to thevirtual image) of at least several metres. In FIG. 3, solid lines (suchas the line 180) are used to denote real optical rays, whereas brokenlines (such as the line 190) are used to denote virtual rays.

An alternative arrangement is shown in FIG. 4. This arrangement may beused where it is desired that the user's view of the externalenvironment is not entirely obscured. However, it is also applicable toHMDs in which the user's external view is wholly obscured. In thearrangement of FIG. 4, the display element 150 and optical elements 200cooperate to provide an image which is projected onto a mirror 210,which deflects the image towards the user's eye position 220. The userperceives a virtual image to be located at a position 230 which is infront of the user and at a suitable distance from the user.

In the case of an HMD in which the user's view of the externalsurroundings is entirely obscured, the mirror 210 can be a substantially100% reflective mirror. The arrangement of FIG. 4 then has the advantagethat the display element and optical elements can be located closer tothe centre of gravity of the user's head and to the side of the user'seyes, which can produce a less bulky HMD for the user to wear.Alternatively, if the HMD is designed not to completely obscure theuser's view of the external environment, the mirror 210 can be madepartially reflective so that the user sees the external environment,through the mirror 210, with the virtual image superposed over the realexternal environment.

In the case where separate respective displays are provided for each ofthe user's eyes, it is possible to display stereoscopic images. Anexample of a pair of stereoscopic images for display to the left andright eyes is shown in FIG. 5. The images exhibit a lateral displacementrelative to one another, with the displacement of image featuresdepending upon the (real or simulated) lateral separation of the camerasby which the images were captured, the angular convergence of thecameras and the (real or simulated) distance of each image feature fromthe camera position.

Note that the lateral displacements in FIG. 5 could in fact be the otherway round, which is to say that the left eye image as drawn could infact be the right eye image, and the right eye image as drawn could infact be the left eye image. This is because some stereoscopic displaystend to shift objects to the right in the right eye image and to theleft in the left eye image, so as to simulate the idea that the user islooking through a stereoscopic window onto the scene beyond. However,some HMDs use the arrangement shown in FIG. 5 because this gives theimpression to the user that the user is viewing the scene through a pairof binoculars. The choice between these two arrangements is at thediscretion of the system designer.

In some situations, an HMD may be used simply to view movies and thelike. In this case, there is no change required to the apparentviewpoint of the displayed images as the user turns the user's head, forexample from side to side. In other uses, however, such as thoseassociated with virtual reality (VR) or augmented reality (AR) systems,the user's viewpoint needs to track movements with respect to a real orvirtual space in which the user is located.

FIG. 6 schematically illustrates an example virtual reality system andin particular shows a user wearing an HMD connected to a Sony®PlayStation 3® games console 300 as an example of a base device. Thegames console 300 is connected to a mains power supply 310 and(optionally) to a main display screen (not shown). A cable, acting asthe cables 82, 84 discussed above (and so acting as both power supplyand signal cables), links the HMD 20 to the games console 300 and is,for example, plugged into a USB socket 320 on the console 300. Note thatin the present embodiments, a single physical cable is provided whichfulfils the functions of the cables 82, 84.

The video displays in the HMD 20 are arranged to display imagesgenerated by the games console 300, and the earpieces 60 in the HMD 20are arranged to reproduce audio signals generated by the games console300. Note that if a USB type cable is used, these signals will be indigital form when they reach the HMD 20, such that the HMD 20 comprisesa digital to analogue converter (DAC) to convert at least the audiosignals back into an analogue form for reproduction.

Images from the camera 122 mounted on the HMD 20 are passed back to thegames console 300 via the cable 82, 84. Similarly, if motion or othersensors are provided at the HMD 20, signals from those sensors may be atleast partially processed at the HMD 20 and/or may be at least partiallyprocessed at the games console 300. The use and processing of suchsignals will be described further below.

The USB connection from the games console 300 also provides power to theHMD 20, according to the USB standard.

FIG. 6 also shows a separate display 305 such as a television or otheropenly viewable display (by which it is meant that viewers other thanthe HMD wearer may see images displayed by the display 305) and a camera315, which may be (for example) directed towards the user (such as theHMD wearer) during operation of the apparatus. An example of a suitablecamera is the PlayStation Eye camera, although more generally a generic“webcam”, connected to the console 300 by a wired (such as a USB) orwireless (such as WiFi or Bluetooth) connection.

The display 305 may be arranged (under the control of the games console)to provide the function of a so-called “social screen”. It is noted thatplaying a computer game using an HMD can be very engaging for the wearerof the HMD but less so for other people in the vicinity (particularly ifthey are not themselves also wearing HMDs). To provide an improvedexperience for a group of users, where the number of HMDs in operationis fewer than the number of users, images can be displayed on a socialscreen. The images displayed on the social screen may be substantiallysimilar to those displayed to the user wearing the HMD, so that viewersof the social screen see the virtual environment (or a subset, versionor representation of it) as seen by the HMD wearer. In other examples,the social screen could display other material such as informationrelating to the HMD wearer's current progress through the ongoingcomputer game. For example, the HMD wearer could see the gameenvironment from a first person viewpoint whereas the social screencould provide a third person view of activities and movement of the HMDwearer's avatar, or an overview of a larger portion of the virtualenvironment. In these examples, an image generator (for example, a partof the functionality of the games console) is configured to generatesome of the virtual environment images for display by a display separateto the head mountable display.

In FIG. 6 the user is wearing one or two so-called haptic gloves 331.These can include actuators to provide haptic feedback to the user, forexample under the control of processing carried out by the console 300.They may also provide configuration and/or location sensing as discussedbelow.

Note that other haptic interfaces can be used, providing one or moreactuators and/or one or more sensors. For example, a so-called hapticssuit may be worn by the user. Haptic shoes may include one or moreactuators and one or more sensors. Or the user could stand on or hold ahaptic interface device. The one or more actuators associated with thesedevices may have different respective frequency responses and availableamplitudes of vibration. Therefore in example arrangements to bediscussed below the haptic generator can be responsive to attributesdefining one or capabilities of the haptic interface. In some examples,an attribute defines a frequency response of the haptic interface. Insome examples, an attribute defines a maximum amplitude which may berepresented by the haptic interface.

FIG. 7 schematically illustrates a similar arrangement (another exampleof a virtual reality system) in which the games console is connected (bya wired or wireless link) to a so-called “break out box” acting as abase or intermediate device 350, to which the HMD 20 is connected by acabled link 82, 84. The breakout box has various functions in thisregard. One function is to provide a location, near to the user, forsome user controls relating to the operation of the HMD, such as (forexample) one or more of a power control, a brightness control, an inputsource selector, a volume control and the like. Another function is toprovide a local power supply for the HMD (if one is needed according tothe embodiment being discussed). Another function is to provide a localcable anchoring point. In this last function, it is not envisaged thatthe break-out box 350 is fixed to the ground or to a piece of furniture,but rather than having a very long trailing cable from the games console300, the break-out box provides a locally weighted point so that thecable 82, 84 linking the HMD 20 to the break-out box will tend to movearound the position of the break-out box. This can improve user safetyand comfort by avoiding the use of very long trailing cables.

In FIG. 7, the user is also shown holding a pair of hand-held controller330 s which may be, for example, Sony® Move® controllers whichcommunicate wirelessly with the games console 300 to control (or tocontribute to the control of) game operations relating to a currentlyexecuted game program. The user may also be wearing one or two hapticgloves as discussed in connection with FIG. 6.

It will be appreciated that the localisation of processing in thevarious techniques described in this application can be varied withoutchanging the overall effect, given that an HMD may form part of a set orcohort of interconnected devices (that is to say, interconnected for thepurposes of data or signal transfer, but not necessarily connected by aphysical cable). So, processing which is described as taking place “at”one device, such as at the HMD, could be devolved to another device suchas the games console (base device) or the break-out box. Processingtasks can be shared amongst devices. Source signals, on which theprocessing is to take place, could be distributed to another device, orthe processing results from the processing of those source signals couldbe sent to another device, as required. So any references to processingtaking place at a particular device should be understood in thiscontext. Similarly, where an interaction between two devices isbasically symmetrical, for example where a camera or sensor on onedevice detects a signal or feature of the other device, it will beunderstood that unless the context prohibits this, the two devices couldbe interchanged without any loss of functionality.

As mentioned above, in some uses of the HMD, such as those associatedwith virtual reality (VR) or augmented reality (AR) systems, the user'sviewpoint needs to track movements with respect to a real or virtualspace in which the user is located.

This tracking is carried out by detecting motion of the HMD and varyingthe apparent viewpoint of the displayed images so that the apparentviewpoint tracks the motion.

FIG. 8 schematically illustrates the effect of a user head movement in aVR or AR system.

Referring to FIG. 8, a virtual environment is represented by a (virtual)spherical shell 250 around a user. This provides an example of a virtualdisplay screen (VDS). Because of the need to represent this arrangementon a two-dimensional paper drawing, the shell is represented by a partof a circle, at a distance from the user equivalent to the separation ofthe displayed virtual image from the user. A user is initially at afirst position 260 and is directed towards a portion 270 of the virtualenvironment. It is this portion 270 which is represented in the imagesdisplayed on the display elements 150 of the user's HMD. It can be seenfrom the drawing that the VDS subsists in three dimensional space (in avirtual sense) around the position in space of the HMD wearer, such thatthe HMD wearer sees a current portion of VDS according to the HMDorientation.

Consider the situation in which the user then moves his head to a newposition and/or orientation 280. In order to maintain the correct senseof the virtual reality or augmented reality display, the displayedportion of the virtual environment also moves so that, at the end of themovement, a new portion 290 is displayed by the HMD.

So, in this arrangement, the apparent viewpoint within the virtualenvironment moves with the head movement. If the head rotates to theright side, for example, as shown in FIG. 8, the apparent viewpoint alsomoves to the right from the user's point of view. If the situation isconsidered from the aspect of a displayed object, such as a displayedobject 300, this will effectively move in the opposite direction to thehead movement. So, if the head movement is to the right, the apparentviewpoint moves to the right but an object such as the displayed object300 which is stationary in the virtual environment will move towards theleft of the displayed image and eventually will disappear off theleft-hand side of the displayed image, for the simple reason that thedisplayed portion of the virtual environment has moved to the rightwhereas the displayed object 300 has not moved in the virtualenvironment.

FIGS. 9a and 9b schematically illustrated HMDs with motion sensing. Thetwo drawings are in a similar format to that shown in FIG. 2. That is tosay, the drawings are schematic plan views of an HMD, in which thedisplay element 150 and optical elements 160 are represented by a simplebox shape. Many features of FIG. 2 are not shown, for clarity of thediagrams. Both drawings show examples of HMDs with a motion detector fordetecting motion of the observer's head.

In FIG. 9a , a forward-facing camera 322 is provided on the front of theHMD. This may be the same camera as the camera 122 discussed above, ormay be an additional camera. This does not necessarily provide imagesfor display to the user (although it could do so in an augmented realityarrangement). Instead, its primary purpose in the present embodiments isto allow motion sensing. A technique for using images captured by thecamera 322 for motion sensing will be described below in connection withFIG. 10. In these arrangements, the motion detector comprises a cameramounted so as to move with the frame; and an image comparator operableto compare successive images captured by the camera so as to detectinter-image motion.

FIG. 9b makes use of a hardware motion detector 332. This can be mountedanywhere within or on the HMD. Examples of suitable hardware motiondetectors are piezoelectric accelerometers or optical fibre gyroscopes.It will of course be appreciated that both hardware motion detection andcamera-based motion detection can be used in the same device, in whichcase one sensing arrangement could be used as a backup when the otherone is unavailable, or one sensing arrangement (such as the camera)could provide data for changing the apparent viewpoint of the displayedimages, whereas the other (such as an accelerometer) could provide datafor image stabilisation.

FIG. 10 schematically illustrates one example of motion detection usingthe camera 322 of FIG. 9 a.

The camera 322 is a video camera, capturing images at an image capturerate of, for example, 25 images per second. As each image is captured,it is passed to an image store 400 for storage and is also compared, byan image comparator 410, with a preceding image retrieved from the imagestore. The comparison uses known block matching techniques (so-called“optical flow” detection) to establish whether substantially the wholeimage has moved since the time at which the preceding image wascaptured. Localised motion might indicate moving objects within thefield of view of the camera 322, but global motion of substantially thewhole image would tend to indicate motion of the camera rather than ofindividual features in the captured scene, and in the present casebecause the camera is mounted on the HMD, motion of the cameracorresponds to motion of the HMD and in turn to motion of the user'shead.

The displacement between one image and the next, as detected by theimage comparator 410, is converted to a signal indicative of motion by amotion detector 420. If required, the motion signal is converted by to aposition signal by an integrator 430.

As mentioned above, as an alternative to, or in addition to, thedetection of motion by detecting inter-image motion between imagescaptured by a video camera associated with the HMD, the HMD can detecthead motion using a mechanical or solid state detector 332 such as anaccelerometer. This can in fact give a faster response in respect of theindication of motion, given that the response time of the video-basedsystem is at best the reciprocal of the image capture rate. In someinstances, therefore, the detector 332 can be better suited for use withhigher frequency motion detection. However, in other instances, forexample if a high image rate camera is used (such as a 200 Hz capturerate camera), a camera-based system may be more appropriate. In terms ofFIG. 10, the detector 332 could take the place of the camera 322, theimage store 400 and the comparator 410, so as to provide an inputdirectly to the motion detector 420. Or the detector 332 could take theplace of the motion detector 420 as well, directly providing an outputsignal indicative of physical motion.

Other position or motion detecting techniques are of course possible.For example, a mechanical arrangement by which the HMD is linked by amoveable pantograph arm to a fixed point (for example, on a dataprocessing device or on a piece of furniture) may be used, with positionand orientation sensors detecting changes in the deflection of thepantograph arm. In other embodiments, a system of one or moretransmitters and receivers, mounted on the HMD and on a fixed point, canbe used to allow detection of the position and orientation of the HMD bytriangulation techniques. For example, the HMD could carry one or moredirectional transmitters, and an array of receivers associated withknown or fixed points could detect the relative signals from the one ormore transmitters. Or the transmitters could be fixed and the receiverscould be on the HMD. Examples of transmitters and receivers includeinfra-red transducers, ultrasonic transducers and radio frequencytransducers. The radio frequency transducers could have a dual purpose,in that they could also form part of a radio frequency data link toand/or from the HMD, such as a Bluetooth® link.

FIG. 11 schematically illustrates image processing carried out inresponse to a detected position or change in position of the HMD.

As mentioned above in connection with FIG. 10, in some applications suchas virtual reality and augmented reality arrangements, the apparentviewpoint of the video being displayed to the user of the HMD is changedin response to a change in actual position or orientation of the user'shead.

With reference to FIG. 11, this is achieved by a motion sensor 450 (suchas the arrangement of FIG. 10 and/or the motion detector 332 of FIG. 9b) supplying data indicative of motion and/or current position to arequired image position detector 460, which translates the actualposition of the HMD into data defining the required image for display.An image generator 480 accesses image data stored in an image store 470if required, and generates the required images from the appropriateviewpoint for display by the HMD. The external video signal source canprovide the functionality of the image generator 480 and act as acontroller to compensate for the lower frequency component of motion ofthe observer's head by changing the viewpoint of the displayed image soas to move the displayed image in the opposite direction to that of thedetected motion so as to change the apparent viewpoint of the observerin the direction of the detected motion.

FIG. 12 schematically illustrates a virtual reality system or apparatuscomprising: an HMD 1200 which may include an orientation detector 1205,for example of the type discussed above with reference to FIGS. 9A-11,one or more user controls 1210, a data processor 1220 such as a gameengine, an image processor 1230, a camera 1240 and optionally a socialscreen 1250 of the type discussed above. Storage media 1280 isoptionally provided to store (and to allow retrieval by the dataprocessor of) displayable content and/or game data.

In use, the user wears the HMD 1200 and can operate the one or morecontrols or controllers 1210. Examples of suitable user controls includethe controller 330 shown in FIG. 7 and/or sensors 1291 associated with ahaptic interface 1290. The game engine 1220 provides images and othercontent such as audio content to the HMD via a wired or wirelessconnection 1260 and receives input from the controllers 1210 via theconnection 1260 or via the camera 1240.

The camera 1240 is directed towards the HMD and/or controllers and/oruser's hands or other limbs in use. The camera 1240 can thereforecapture a current position and/or orientation of the HMD 1200 and acurrent position and/or orientation of the controllers 1210, each ofwhich is detected from the captured images by the image processor 1230.These captured positions and/or orientations can be used to control dataprocessing operations of the game engine 1220, such as game controloperations.

Similarly, the orientation detector 1205 can provide orientationinformation (such as a data defining a current orientation and/or datadefining a detected change in orientation) to the data processor 1220via the link 1260.

Therefore, in examples, there are various types of control input to thegame engine 1220, such as control inputs 1270 derived by the imageprocessor 1230 from captured images captured by the camera 1240 and/orcontrol inputs received from the controls 1210 via the wired or wirelessconnection 1260. The image processor 1230 provides an example of animage processor to detect, from one or more images captured by thecamera 1240, one or more of: (i) a current orientation of the HMD 1200;and (ii) a current location of the HMD 1200. The game engine 1220provides an example of a data processor to direct a data processingfunction according to the detection by the image processor. In someexamples, the data processing function is a gameplay function.

The haptic interface 1290 receives data from, and provides data to, thedata processor 1220 and/or a haptic generator 1295. The haptic interfacecomprises zero or more sensors 1291 along with one or more actuators1292. The actuators are responsive to a haptic interaction signal 1293received from the haptic generator 1295.

The haptic generator 1295 is responsive to haptic data 1297 which may bepredetermined and stored, or generated from other data such as graphicaltexture data (for example, provided by the storage media 1280). Thehaptic generator 1295 may comprise a filter 1296. Operations of thehaptic generator will be discussed in detail below. But in generalterms, these arrangements provide examples of virtual reality apparatus(FIG. 12) comprising: a display generator 1220 to generate images of avirtual environment, including a virtual representation of an object andat least part of an avatar, for display to a user, the object havingassociated graphical texture data (for example in the storage media1280) for rendering a surface appearance of the object; a hapticinterface 1290 comprising one or more actuators 1292 to provide aphysical interaction with the user in response to a haptic interactionsignal 1293; and a haptic generator 1297 to generate the hapticinteraction signal in response to a configuration of the avatar relativeto the object in the virtual environment.

FIG. 12 therefore provides an example of virtual reality apparatuscomprising:

a display generator 1220 to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user; and

a haptic interface 1290 comprising one or more actuators to provide aphysical interaction with the user in response to a haptic interactionsignal.

FIG. 13 schematically illustrates an example avatar touching an object.

As part of the operation of the system of FIG. 12, the data processor1220, acting as a display generator, generates images of a virtualenvironment. This includes a virtual representation of an object 1300and at least a part 1310 of an avatar for display to the user via theHMD 1200.

The HMD 1200 is an example of a head mountable display (HMD) to displaythe images of the virtual environment to the user.

The avatar is a graphical representation of the user (that is to say,the wearer of the HMD). It represents the user in the video game orother virtual environment being displayed. Although in the examples tobe discussed here and with reference to FIG. 13, a generallyhuman-shaped avatar is used, the avatar need not be humanoid but couldbe a representation of an animal, robot or other representation. In someexamples, the avatar is a representation of a body having one or morelimbs; and the avatar contact region is disposed at or near an extremityof one or more of the limbs.

In some examples, the whole avatar (that is to say, an entire avatarbody) may be visible to the user for whom the avatar is arepresentation. In other examples, only parts of the avatar may bevisible. For example, the avatar representation of the user could be arepresentation of the user's arms and hands, as they would be seen inthe real environment from the user's point of view. So, the avatar armsextend generally in front of the user in the view of the virtualenvironment seen by the user using the HMD 1200.

It may be the case that other users who are currently viewing the samevirtual environment may also see the avatar, which is to say that oneuser may be able to see the avatar representation of another user in thevirtual environment. However, the present discussion relates to a userand that user's interaction with the user's own avatar representation.

The configuration (for example, position and/or orientation) of theavatar or parts of the avatar as viewed can be controlled using, forexample, the Move controllers 330, by sensing the real positions of theuser's hands as in the example of FIG. 6, or by the operation of otheruser controls. The sensing of the position of the user's hands can bevia the camera 1240, which may be a depth camera, and/or via a camerasuch as a depth camera or one or more cameras 1202 mounted on the HMDand facing forwards with respect to the user wearing the HMD, and/or viaone or more sensors 1291 forming part of the haptic interface 1290 (forexample, forming part of or built into one or more gloves worn by theuser as discussed below) and/or by one or more controls 1210 such as theMove controller mentioned above.

In the virtual environment, the avatar hand 1320 is shown in contactwith the display object 1300. Using techniques to be discussed below,so-called haptic sensations can be provided to the user in order tosimulate the sensations which would be felt by the avatar hand 1320touching the display object 1300. The haptic sensations provided to thereal user do not have to be an exact representation of how the userwould feel if the user were picking up or touching a real version of thedisplay object 1300, but may be sufficient to give, for example, somesensory feedback to the user that the user has touched the displayobject 1300 in the virtual environment using the virtual avatar hand1320. Techniques for achieving this will be described below.

FIG. 14 schematically illustrates a haptic glove, with FIGS. 15 and 16schematically illustrating sensors and actuators forming part of thehaptic glove of FIG. 14.

In FIG. 14, the haptic interface comprises one or more actuatorsattachable to one or both of the user's hands, and comprises one or twogloves to be worn by the user, each glove comprising one or more of theactuators. However, other haptic interfaces could be used, such as awand or device similar to a Move controller which the user holds andwhich provides vibration, a Six-Axis® controller, a vibrational floorpad which the user stands on, or the like.

The glove 1400 is worn by the user during operation of the system ofFIG. 12 and represents an example of the haptic interface 1290. Oneglove may be used, or in other example arrangements both hands may wearthis type of glove.

Referring to FIGS. 15 and 16, the user's fingers are modelled as a setof portions 1500, 1510, 1520 corresponding to the different joints,knuckles and portions of a real finger, and sensors such as straingauges which can detect whether they are elongated by virtue of thefinger bending are provided at each joint. So, movements of the fingerin the directions 1530, 1540 can be detected by the elongation of thestrain gauges 1550, 1560, 1570. In this way, the current configurationof the fingers relative to the main part 1580 of the hand can bedetected. Similarly, side-to-side movement of a finger such as movementin directions 1600, 1610 in FIG. 16 can be detected by a laterallyactivated strain gauge 1620. Similar sensors can be provided for one ormore fingers and/or the thumb.

Referring to FIG. 17, each of these strain gauges represents arespective sensor in a group of sensors 1700 providing input to acontroller 1710 which may form part of the haptic generator 1295 forexample.

One or more actuators such as actuators 1590, 1592, 1594 may also beprovided as part of the glove 1400.

In this example, the actuator 1590 is provided on the palm of the user'shand when wearing the glove 1400. The actuator 1594 is provided on thetip of the user's finger and the actuator 1592 is provided on the frontpad of the user's finger, over the location of the user's fingerprint.The actuators can provide sensory or haptic sensations to the user'shand.

In some examples, the actuators are vibration devices which vibrate inresponse to an electrical signal received from the controller 1710.Other possibilities are available such as heating devices, devices whichprovide a mild electrical shock to the nerves on the relevant part ofthe user's hand, and the like. The actuators are shown generically as agroup 1720 in FIG. 17 under the control of the controller 1710.

The sensing arrangement described so far can provide an indication ofthe configuration of the user's hand as a unit, which is to say therelative position and orientation of the fingers/thumb and the main partof the hand. Another useful piece of information for generating avirtual avatar representation of the hand is its location in space,which is detected by a location detector 1730.

There are various ways in which the location detector can operate. Asdiscussed above, the location detector may comprise one or more cameras1240, 1202 and appropriate markings and/or illuminations on the glove1400 to allow the location of the glove to be detected. Indeed, byproviding markings and/or illuminations 1410 on one or more fingers, theneed for the strain gauges 1550, 1560, 1570 may be reduced or avoided,by detecting the configuration of the fingers optically using the one ormore cameras 1240, 1202, from the relative configuration of the markingsand/or illuminations in the captured images. In other examples, theglove 1400 may comprise an accelerometer 1420 from which changes inposition of the hand may be detected and integrated to provide a currentlocation. In further examples, the glove may provide a wireless beaconfrom which the current location of the glove can be triangulated byreceiving the signals from the beacon (which may indeed provide a datacommunication wireless connection as well, such as a Bluetooth® wirelessconnection).

Therefore, various techniques have been described to provide locationinformation from the location detector 1730 and hand configurationinformation by the sensors 1700. In general, the apparatus may comprisea detector to detect the position and/or orientation of one or both ofthe user's hands; in which the display generator is configured togenerate the virtual representation of the avatar so that the avatar hasa configuration dependent upon the detected position and/or orientationdetected by the detector. The detector may comprise one or more cameras.The detector may comprise a depth camera.

FIG. 18 schematically illustrates a display object 1800, for examplebeing the display object 1300 of FIG. 13 or another display object. Thedisplay object is defined by a 3-dimensional shape in the virtualenvironment and by its surface appearance. The surface appearance isprovided by so-called texture data, for example stored by the storagemedia 1280 and accessed by the data processor 1220 acting as a displaygenerator, for example as part of an image rendering operation. Thetexture data is applied to the display object 1800 at each instance ofrendering an image containing the display object 1800. Texture dataapplicable to those portions or faces (in this example) of the displayobject 1800 which are currently visible, namely a front left face 1810,a front right face 1820 and a top face 1830 in the particular exampleshown, are used in rendering the object. Other surfaces of the object1800 which are (in the current rendered frame) hidden or occluded fromview, for example by virtue of being at the rear side of the displayobject 1800 or by virtue of another object being between the object 1800and the viewer in the virtual environment, do not have their texturedata applied, but the texture data still exists in the storage media1280 for each surface of the display object 1800. The texture data maydefine the patterning, colour, high frequency detail, surface textureand the like of the surfaces of the display object 1800 for display.

In some examples, the haptic generator 1295 is configured to generatethe haptic interaction signal 1295 in dependence upon the graphicaltexture data applicable to the object. For example, the haptic generatormay be configured to detect the avatar (such as an avatar finger 1805)touching the surface of the object at an object contact region 1815 andan avatar contact region 1807, and to generate the haptic interactionsignal in dependence upon the graphical texture data applicable to theobject contact region.

in some examples, a choice of which (of a plurality of) actuators toactuate by the haptic interaction signal can be made by the hapticgenerator so as to depend upon which part of the avatar contacts thesurface. For example, if the avatar has multiple fingers (such as fourfingers and a thumb, but not limited to this) a mapping between avatarfingers and user fingers can be used so that whichever avatar finger orfingers touches the display object, the actuators on the mapped userfinger or fingers are actuated. Similarly, if multiple actuators areprovided for a single user finger or other hand portion, a choice ofwhich one or more to actuate can be made in dependence upon a mappedportion of the avatar hand touching the display object.

In some examples, this technique can be used to simulate how the user'sfingers would feel if the user were to touch a real version of theobject 1800, in response to the avatar hand 1320 touching the displayobject in the virtual environment. In such instances, the user's touchalong an outer surface of the display object 1800 is used to determinethe state of the haptic interaction signal 1293 provided to the hapticinterface 1290.

In other examples, even for a display object 1800 representing anotionally solid object in the virtual environment, it may be possiblefor the avatar hand 1320 to pass within or through the display object1800, but in such situations the haptic interaction signal can begenerated by the haptic generator to provide at least an indication tothe user that the user has caused the avatar hand 1320 to move to aninappropriate internal location with respect to the display object 1800.Techniques for achieving this will be discussed below, but in someexamples this can be carried out in dependence upon the graphicaltexture data applicable to the (outer surfaces of) the object 1800.

FIG. 19 schematically illustrates example operations of a hapticgenerator such as the haptic generator 1295.

The haptic generator receives inputs from one or more sensors 1700 andfrom the location detector 1730 and generates the haptic interactionsignal 1293 to be provided to the actuators 1720. The haptic generator1295, including the functions of the controller 1710 of FIG. 17,comprises a detector 1900 to detect a finger position with reference toa display location of the display object 1800 (as received from the dataprocessor 1220) and a feedback generator 1910 which generates the signal1293 in dependence upon the relative position of the avatar finger andthe display object 1800 and also haptic property data 1297.

The derivation of the haptic property data 1297 will now be discussed.

As discussed below, various components of haptic interaction signals canbe mixed or otherwise combined using techniques to be discussed. Someexamples of sources of these haptic interaction signals are discussedbelow. These examples can of course be combined in any combination orpermutation.

EXAMPLE 1 Haptic Interaction Signal Dependent Upon Interaction BetweenAvatar and Object

These examples concern a virtual reality apparatus comprising a displaygenerator to generate images of a virtual environment, including avirtual representation of an object and at least part of an avatar, fordisplay to a user; a haptic interface comprising one or more actuatorsto provide a physical interaction with the user in response to a hapticinteraction signal; and a haptic generator to generate the hapticinteraction signal in response to a configuration of the avatar relativeto the object in the virtual environment.

In some examples, the haptic generator is configured to detect a contactin the virtual environment between an avatar contact region of theavatar at an object contact region with respect to the object; and toassociate the object contact region with one or more haptic interactionparameters.

EXAMPLE 2 Haptic Interaction Signal Dependent Upon Detected Motion

For example, the haptic generator may be configured to detect relativemotion of the avatar and the object causing a change in the position ofthe object contact region along a motion path from a first location to asecond location with respect to the object; and to generate the hapticinteraction signal in response to the motion of the object contactregion along the motion path. The motion path may be along a surface ofthe object, through the interior of the object, or both. For example,the haptic generator may be configured to generate the hapticinteraction signal in response to a speed of the object contact regionalong the motion path. In some examples, the haptic generator may beconfigured to generate, as the haptic interaction signal, a signalindicative of a vibration having at least one vibrational componentwhich increases in frequency with increasing speed of the object contactregion along the motion path, and/or the haptic generator may beconfigured to generate, as the haptic interaction signal, a signalindicative of a vibration having at least one vibrational componentwhich increases in amplitude with increasing speed of the object contactregion along the motion path.

EXAMPLE 3 Haptic Interaction Signal Dependent Upon What Items AreInteracting

In some examples, the haptic generator is configured to generate thehaptic interaction signal in dependence upon at least one parameterassociated with one or more of:

the object;

the avatar;

the user; and

location of the object contact region with respect to the object.

For example, the at least one parameter may be a parameter of avibration to be represented by the haptic interaction signal. In someexamples, the at least one parameter is indicative of one or both of abase frequency and a base amplitude, the haptic generator beingconfigured to generate the haptic interaction signal by modifying one orboth of the base frequency and the base amplitude in response to thedetected motion of the object contact region.

EXAMPLE 4 Haptic Interaction Signal Dependent Upon Detected Location

For example, the haptic generator is configured to generate the hapticinteraction signal in response to a current location of the objectcontact region, for example a detected location along the motion path.

EXAMPLE 5 Haptic Interaction Signal Dependent Upon Haptic Texture Data

For example, the haptic generator may be responsive to haptic texturedata to define one or more vibrations in dependence upon respectivelocations of the object contact region with respect to the object. Thehaptic texture data may map to a 3D location with respect to theinterior of the object and/or to a surface location with respect to theobject.

EXAMPLE 6 Haptic Interaction Signal Dependent Upon Surface Texture

For example, the haptic generator may be configured to associate theobject contact region with one or more surface locations of the object;and to generate the haptic interaction signal in dependence upon haptictexture data applicable to the one or more associated surface locations.The surface texture may be a haptic texture indicative of hapticinteraction parameters.

EXAMPLE 7 Haptic Interaction Signal Dependent Upon Surface GraphicalTexture

In some examples, the haptic generator may be configured to generate thehaptic texture data in response to detected changes in the surfaceappearance of the object represented by graphical texture dataindicative of the surface appearance of the object.

EXAMPLE 8 Haptic Interaction Signal Dependent Upon Audio Signal

Referring to FIG. 20, an audio generator (for example, as part of a gameapplication, for example being implemented by the data processor 1220)supplies audio data or signals to one or more audio transducers 2010,for example one or more earpieces forming part of a headset or HMD. Theaudio generator also provides audio data, indicative of the audio outputbeing supplied to audio transducers 2010, to a detector 2020. Thedetector 2020 detects properties of the audio data which may be relevantto the generation of haptic interaction in dependence upon the audiodata. For example, these properties may include one or more of:

-   -   (a) the frequency content of the audio signal represented by the        audio data. In some examples, lower frequency components (for        example, below a threshold frequency such as 200 Hz, or        components remaining after a weighting function which generally        weights lower frequencies more heavily than higher frequencies,        has been applied) are detected by the detector 2020 as relevant        to the haptic interaction;    -   (b) the amplitude of the audio signal represented by the audio        data. If the amplitude is above a threshold amplitude, or if the        amplitude of frequency components (such as low frequency        components as discussed above) is above the threshold, then the        audio data may be detected by the detector as relevant to the        haptic interaction.

If the audio signal is not detected to be relevant to haptic interactionas represented by one or both of these tests, then the haptic generator1295 is not responsive to the audio data. If it is detected to berelevant then the haptic generator receives an indication 2022 from thedetector 2020 as to its relevance and providing an indication of ahaptic interaction appropriate to the audio data, for example by thedetector 2020 applying a mapping function or mapping data between thefrequency and/or amplitude content of the audio data and parameters of ahaptic interaction.

In other examples, a detection of relevance (leading to a decision as towhether to initiate is not made, but the detector 2020 operates toextract those components of the audio data from which the hapticgenerator 1295 may generate a haptic interaction signal (and which mayindeed be zero or very small) and passes these as the signal 2022 to thehaptic generator.

The haptic generator 1295 generates a haptic interaction signal based onthe detection by the detector 2020.

For example, if frequency components of the audio data, having at leasta threshold amplitude, are detected below (say) 100 Hz, then a hapticinteraction signal for a vibration simulating a rumble can be generatedby the haptic generator 1295. One or more frequencies of the vibrationcan be equal to (or rounded values near to) one or more dominantfrequencies of the audio signal in the low frequency range. Theamplitude of the vibration can depend on the detected amplitude of theaudio signal in the relevant frequency range.

EXAMPLE 9 Haptic Interaction Signal Dependent Upon Object Motion

FIGS. 21-23 will be discussed blow. With regard to the discussion ofthose figures, a haptic interaction signal can be generated independence upon one or more components or aspects of an object's motion.

EXAMPLE 10 Haptic Interaction Signal Dependent Upon a SimulatedPropagation Path

Examples will now be described in which a haptic generator generates ahaptic interaction signal in response to a configuration of the avatarrelative to a display object in the virtual environment. The hapticgenerator detects an avatar contact region of the avatar touching theobject, and generates the haptic interaction signal in dependence upon:(i) simulated haptic interaction (such as a simulated motion) of asecond object relative to the display object in the virtual environment;and (ii) a simulated propagation path between the display object and thesecond object in the virtual environment.

FIGS. 21 and 22 provide simple examples of this arrangement. In FIG. 21,a power drill in the virtual environment (2900) is about to contact awall 2910. If the avatar hand is holding the drill (2920) then first ofall, the haptic interaction signal depends upon the motion of the drillbit relative to the drill body and the propagation path through thedrill itself, and then when the drill 2900 touches the wall 2910, thehaptic interaction signal depends upon the relative motion of the drillbit and the wall 2910 along with the simulated properties of thepropagation path through the drill 2900 to the avatar's hand 2920.

In FIG. 22, an avatar hand 3000 is holding a hammer 3010 which is aboutto strike a nail 3020. At the time the hammer and nail make contact, therelative motion between the hammer and the nail and the propagation pathdefined by the hammer determine the interaction signal generated by thehaptic generator 1295.

A further example is provided in FIG. 23, in which part of a virtual caris illustrated, in which a road wheel 3100 is travelling along a road3110 having a rough surface, leading to movement in the virtualenvironment of the road wheel in a vertical direction 3120. A steeringwheel 3130 which the avatar hand is holding, is travelling with thevehicle and so its motion relative to the road wheel in the direction ofdriving is small or zero, but there is a propagation path defined inpart by a virtual steering column or other connections between the roadwheel 3100 and the steering wheel 3130 which allows vibrations in thedirection 3120 to be transmitted to the steering wheel 3130. So, therelative motion of the road wheel 3100 and the steering wheel 3130 givesrise to the generation of a haptic interaction signal provided to theuser whose avatar is holding the virtual steering wheel 3130.

Note that the steering wheel is a display object which the avatar cantouch. The road wheel can be simulated but does not need to be currentlydisplayed for the present technique to operate.

FIG. 24 schematically illustrates example operations of a hapticgenerator, responsive to an object location detector 3200 to detect thelocation of objects which the avatar may touch such as the steeringwheel 3130 in FIG. 23, a detector 3210 to detect the fact that theavatar is touching the relevant object, and a mapped object locationdetector 3220 to detect the location of a mapped object such as the roadwheel 3100 in FIG. 23 on the basis of mapping data 3230 which associatesdisplay objects which the avatar may touch with other objects. Themapping data also provides a filter response (such as parameters of alow pass filter function and/or an attenuation or gain-varying function)associating the display object with the mapped object, the filterfunction simulating a propagation path.

Therefore in examples, the haptic generator is configured to simulatethe motion of the second object according to haptic configuration dataassociated with the second object and/or the location, in the virtualenvironment, of the second object. The haptic generator may beconfigured to simulate the propagation path by applying a filteringoperation to the simulated haptic interaction of a second objectrelative to the display object in the virtual environment. The filteringoperation may comprise one or both of: a time-based filtering operation;and a gain varying operation; dependent upon path configuration dataassociated with the simulated propagation path.

In some examples, the haptic generator is configured to detect a degreeof contact between the avatar and the display object, and to apply thefiltering operation in dependence upon the detected degree of contact.For example, if an avatar fingertip (as a contact region) is touchingthe steering wheel of FIG. 23, a filtering function having a greaterattenuation can be used than in a case where a whole avatar hand istouching the steering wheel.

As well as or instead of mechanical propagation paths and vibrationalmapped objects, in other examples the second object may comprise anaudio emitter, and the simulated propagation path may comprise an audiopropagation path.

The haptic feedback generator 3240 is also responsive to movement suchas the movement in the direction 3120 of the mapped object using mappedobject haptic data 3250. The haptic feedback generator detects motion ofthe mapped object, applies the filter function defined by the mappingdata, and generates the haptic interaction signal from the result.

Note that “inputs” to the simulated propagation path do not have torelate to motion of another object such as the wheel 3120. They canrelate to any haptic interaction appropriate to the other object. Any ofthe example haptic interactions discussed above in connection withExamples 1-9 can be applicable to this arrangement.

For example, although Examples 1 to 7 as discussed above relate to acontact between an avatar or a portion of an avatar and an object, forthe purposes of the use of a simulated propagation path the avatar canbe replaced in those examples by the second object.

Similarly, the effect of Example 8 can be an effect on the second objectfor the purposes of the simulated propagation path.

The arrangement of FIG. 24 can refer to one mapped object, or more thanone mapped object. The mapped object haptics 3250 can relate to themotion of that mapped object (Example 9) and/or any of the Examples 1-8.

Therefore, in examples, this arrangement can be one in which one of thehaptic detections (to be taken into account in a manner discussed below)comprises a haptic interaction of a second object, and a simulatedpropagation path between the avatar and the second object in the virtualenvironment. For example, the haptic interaction of the second objectmay be relative to the display object in the virtual environment, andthe simulated propagation path may be a propagation path between thedisplay object and the second object in the virtual environment.

In a combination of the concepts of Examples 8 and 9, the second objectmay comprise an audio emitter, and the simulated propagation path maycomprise an audio propagation path.

In the examples of FIGS. 21-23, the haptic interaction of the secondobject comprises a simulated motion of the second object.

In example embodiments such as those discussed with respect to FIGS.21-24, the haptic generator can be configured to simulate the motion ofthe second object according to haptic configuration data associated withthe second object and/or the location, in the virtual environment, ofthe second object. The haptic generator may be configured to simulatethe propagation path by applying a filtering operation to the hapticinteraction of the second object. The filtering operation may compriseone or both of: a time-based filtering operation; and a gain varyingoperation; dependent upon path configuration data associated with thesimulated propagation path.

Mixing of Haptic Interaction Signals

The detectors discussed above represent examples of a detectorarrangement configured to detect two or more haptic detectionsapplicable to a current configuration of the avatar relative to theobject in the virtual environment.

In example embodiments, a haptic generator generates the hapticinteraction signal in dependence upon the two or more haptic detections.

FIG. 25 schematically illustrates example operations of a hapticsgenerator in which, in response to location data 3300, a so-calledactive haptics generator acts in the fashion of FIG. 32 (3310) and aso-called passive haptics generator 3320 acts in the manner of FIG. 19to generate collectively a combined haptic interaction signal 1293.

In this way the apparatus acts as a detector arrangement configured todetect two or more haptic detections applicable to a currentconfiguration of the avatar relative to the object in the virtualenvironment; and a haptic generator to generate the haptic interactionsignal in dependence upon the two or more haptic detections.

In doing so, the haptic generator can incorporate and make use of amixer 3400 of FIG. 4 which mixes input vibration data 3410 receivedfrom:

(a) multiple instances of the haptics generator 1295; and/or

(b) the active and passive haptics generators of FIG. 25.

Alternatively, a mixing process can be carried out by the hapticsgenerator itself, in that it generates a single haptic interactionsignal in response to multiple influences or input data.

The haptic detections combined by this mixing arrangement can comprisedetections selected from the list consisting of:

a detection of an audio signal for provision to the user (Example 8);

a detection of contact between at least a part of the avatar and atleast a part of the surface of the display object (Example 1);

a detection of motion of a contact region between at least a part of theavatar and at least a part of the surface of the display object (Example2)

a detection of contact between at least a part of the avatar and atleast a part of the interior of the display object (Examples 1 and 4);

a detection of motion of a contact region between at least a part of theavatar and at least a part of the interior of the display object(Examples 2 and 4); and

and

a detection of simulated motion of the display object (Example 9).

In some examples, the mixer function 3400 can be responsive to data 3410indicative or properties of the haptic interface in use by the user (forexample, from configuration and/or handshake data relating to thathaptic interface), to vary the mixing process according to thoseproperties. For example, if the haptic interface in use is capable of agreater frequency range and/or amplitude of vibration, the mixingprocess could be arranged to apply a greater mixing emphasis to signalshaving higher frequency and/or amplitude components, and/or the mixingprocess could be arranged to allow an output haptic interaction signalindicative of a higher frequency and/or amplitude range.

The apparatus described above also provides an example of virtualreality apparatus comprising: a display generator to generate images ofa virtual environment, including a virtual representation of a displayobject and at least part of an avatar, for display to a user;

a haptic interface comprising one or more actuators to provide aphysical interaction with the user in response to a haptic interactionsignal; and

a haptic generator to generate the haptic interaction signal in responseto a configuration of the avatar relative to the object in the virtualenvironment;

in which the haptic generator is configured to detect an avatar contactregion of the avatar touching the object, and generate the hapticinteraction signal in dependence upon:

simulated haptic interaction of a second object relative to the displayobject in the virtual environment; and

a simulated propagation path between the display object and the secondobject in the virtual environment.

Apparatus Connectable to a Haptic Interface

These techniques can also be embodied by a virtual reality apparatuscomprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a detector arrangement configured to detect two or more hapticdetections applicable to a current configuration of the avatar relativeto the object in the virtual environment; and

a haptic generator to generate a haptic interaction signal, to control ahaptic interface comprising one or more actuators to provide a physicalinteraction with the user in response to a haptic interaction signal, independence upon the two or more haptic detections.

These techniques can also be embodied by a virtual reality apparatuscomprising:

a display generator to generate images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user;

a haptic generator to generate the haptic interaction signal in responseto a configuration of the avatar relative to the object in the virtualenvironment;

in which the haptic generator is configured to detect an avatar contactregion of the avatar touching the object, and generate the hapticinteraction signal in dependence upon:

simulated haptic interaction of a second object relative to the displayobject in the virtual environment; and

a simulated propagation path between the display object and the secondobject in the virtual environment.

Corresponding Methods

FIG. 27 is a schematic flowchart illustrating a method comprising:

generating (at a step 3500) images of a virtual environment, including avirtual representation of a display object and at least part of anavatar, for display to a user;

detecting (at a step 3510) two or more haptic detections applicable to acurrent configuration of the avatar relative to the object in thevirtual environment;

generating (at a step 3520) a haptic interaction signal in dependenceupon the two or more haptic detections; and

providing (at a step 3530), by a haptic interface comprising one or moreactuators, a physical interaction with the user in response to a hapticinteraction signal.

FIG. 28 is a schematic flowchart illustrating a method comprising:

generating (at a step 3600) images of a virtual environment, including avirtual representation of a display object and at least part of anavatar, for display to a user;

detecting (at a step 3610) two or more haptic detections applicable to acurrent configuration of the avatar relative to the object in thevirtual environment; and

generating (at a step 3620) a haptic interaction signal, to control ahaptic interface comprising one or more actuators to provide a physicalinteraction with the user in response to a haptic interaction signal, independence upon the two or more haptic detections.

FIG. 29 is a schematic flowchart illustrating a method comprising:

generating (at a step 3700) images of a virtual environment, including avirtual representation of a display object and at least part of anavatar, for display to a user;

generating (at a step 3710) a haptic interaction signal in response to aconfiguration of the avatar relative to the object in the virtualenvironment, by detecting an avatar contact region of the avatartouching the object, and generating the haptic interaction signal independence upon:

-   -   simulated haptic interaction of a second object in the virtual        environment; and    -   a simulated propagation path between the display object and the        second object in the virtual environment; and

(optionally) providing (at a step 3720) a physical interaction with theuser in response to a haptic interaction signal.

It will be appreciated that example embodiments can be implemented bycomputer software operating on a general purpose computing system suchas a games machine. In these examples, computer software, which whenexecuted by a computer, causes the computer to carry out any of themethods discussed above is considered as an embodiment of the presentdisclosure. Similarly, embodiments of the disclosure are provided by anon-transitory, machine-readable storage medium which stores suchcomputer software.

It will also be apparent that numerous modifications and variations ofthe present disclosure are possible in light of the above teachings. Itis therefore to be understood that within the scope of the appendedclaims, the disclosure may be practised otherwise than as specificallydescribed herein.

The invention claimed is:
 1. An apparatus comprising: a displaygenerator to generate images of a virtual environment, including avirtual representation of a display object and at least part of anavatar, for display to a user; a haptic interface comprising one or moreactuators to provide a physical interaction with the user in response toa haptic interaction signal; a detector arrangement configured to detecttwo or more haptic detections applicable to a current configuration ofthe avatar relative to the object in the virtual environment; and ahaptic generator to generate the haptic interaction signal in dependenceupon the two or more haptic detections, wherein: one of the hapticdetections comprises a haptic interaction of a second object and asimulated propagation path between the avatar and the second object inthe virtual environment, and the haptic generator is configured tosimulate the propagation path by applying a filtering operation to thehaptic interaction of the second object.
 2. The apparatus according toclaim 1, in which the haptic interaction of the second object isrelative to the display object in the virtual environment, and thesimulated propagation path is a propagation path between the displayobject and the second object in the virtual environment.
 3. Theapparatus according to claim 1, in which the second object comprises anaudio emitter, and the simulated propagation path comprises an audiopropagation path.
 4. The apparatus according to claim 1, in which thehaptic interaction of the second object comprises a simulated motion ofthe second object.
 5. The apparatus according to claim 4, in which thehaptic generator is configured to simulate the motion of the secondobject according to haptic configuration data associated with the secondobject and/or the location, in the virtual environment, of the secondobject.
 6. The apparatus according to claim 1, in which the filteringoperation comprises one or both of: a time-based filtering operation;and a gain varying operation; dependent upon path configuration dataassociated with the simulated propagation path.
 7. The apparatusaccording to claim 6, in which the haptic generator is configured todetect a degree of contact between the avatar and the display object,and to apply the filtering operation in dependence upon the detecteddegree of contact.
 8. The apparatus according to claim 1, in which thehaptic detections comprise detections selected from the list consistingof: a detection of an audio signal for provision to the user; adetection of contact between at least a part of the avatar and at leasta part of the surface of the display object; a detection of motion of acontact region between at least a part of the avatar and at least a partof the surface of the display object; a detection of contact between atleast a part of the avatar and at least a part of the interior of thedisplay object; a detection of motion of a contact region between atleast a part of the avatar and at least a part of the interior of thedisplay object; and a detection of simulated motion of the displayobject.
 9. The apparatus according to claim 8, in which: the avatar is arepresentation of a body having one or more limbs; and an avatar contactregion for contact with the display object is disposed at or near anextremity of one or more of the limbs.
 10. The apparatus according toclaim 1, comprising a head mountable display (HMD) to display the imagesof the virtual environment to the user.
 11. The apparatus according toclaim 1, in which the haptic generator is responsive to attributesdefining one or capabilities of the haptic interface.
 12. The apparatusaccording to claim 11, in which an attribute defines a frequencyresponse of the haptic interface.
 13. The apparatus according to claim11, in which an attribute defines a maximum amplitude which may berepresented by the haptic interface.
 14. The apparatus according toclaim 1, in which the haptic interface comprises one or more actuatorsattachable to one or both of the user's hands.
 15. The apparatusaccording to claim 14, comprising one or two gloves to be worn by theuser, each glove comprising one or more of the actuators.
 16. Theapparatus according to claim 1, comprising: a detector to detect theposition and/or orientation of one or both of the user's hands; in whichthe display generator is configured to generate the virtualrepresentation of the avatar so that the avatar has a configurationdependent upon the detected position and/or orientation detected by thedetector.
 17. The apparatus according to claim 16, in which the detectorcomprises one or more cameras.
 18. The apparatus according to claim 17,in which the detector comprises a depth camera.
 19. An apparatuscomprising: a display generator to generate images of a virtualenvironment, including a virtual representation of a display object andat least part of an avatar, for display to a user; a detectorarrangement configured to detect two or more haptic detectionsapplicable to a current configuration of the avatar relative to theobject in the virtual environment; and a haptic generator to generate ahaptic interaction signal, to control a haptic interface comprising oneor more actuators to provide a physical interaction with the user inresponse to a haptic interaction signal, in dependence upon the two ormore haptic detections, wherein: one of the haptic detections comprisesa haptic interaction of a second object and a simulated propagation pathbetween the avatar and the second object in the virtual environment, andthe haptic generator is configured to simulate the propagation path byapplying a filtering operation to the haptic interaction of the secondobject.
 20. An apparatus comprising: a display generator to generateimages of a virtual environment, including a virtual representation of adisplay object and at least part of an avatar, for display to a user; ahaptic interface comprising one or more actuators to provide a physicalinteraction with the user in response to a haptic interaction signal;and a haptic generator to generate the haptic interaction signal inresponse to a configuration of the avatar relative to the object in thevirtual environment; in which the haptic generator is configured todetect an avatar contact region of the avatar touching the object, andgenerate the haptic interaction signal in dependence upon: simulatedhaptic interaction of a second object relative to the display object inthe virtual environment; and a simulated propagation path between thedisplay object and the second object in the virtual environment, whereinthe haptic generator is configured to simulate the propagation path byapplying a filtering operation to the haptic interaction of the secondobject.
 21. An apparatus comprising: a display generator to generateimages of a virtual environment, including a virtual representation of adisplay object and at least part of an avatar, for display to a user; ahaptic generator to generate the haptic interaction signal in responseto a configuration of the avatar relative to the object in the virtualenvironment; in which the haptic generator is configured to detect anavatar contact region of the avatar touching the object, and generatethe haptic interaction signal in dependence upon: simulated hapticinteraction of a second object relative to the display object in thevirtual environment; and a simulated propagation path between thedisplay object and the second object in the virtual environment, whereinthe haptic generator is configured to simulate the propagation path byapplying a filtering operation to the haptic interaction of the secondobject.
 22. A method comprising: generating images of a virtualenvironment, including a virtual representation of a display object andat least part of an avatar, for display to a user; detecting two or morehaptic detections applicable to a current configuration of the avatarrelative to the object in the virtual environment; generating a hapticinteraction signal in dependence upon the two or more haptic detections;and providing, by a haptic interface comprising one or more actuators, aphysical interaction with the user in response to a haptic interactionsignal, wherein: one of the haptic detections comprises a hapticinteraction of a second object and a simulated propagation path betweenthe avatar and the second object in the virtual environment, and thegenerating includes simulating the propagation path by applying afiltering operation to the haptic interaction of the second object. 23.A method comprising: generating images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user; detecting two or more hapticdetections applicable to a current configuration of the avatar relativeto the object in the virtual environment; and generating a hapticinteraction signal, to control a haptic interface comprising one or moreactuators to provide a physical interaction with the user in response toa haptic interaction signal, in dependence upon the two or more hapticdetections, wherein: one of the haptic detections comprises a hapticinteraction of a second object and a simulated propagation path betweenthe avatar and the second object in the virtual environment, and thegenerating includes simulating the propagation path by applying afiltering operation to the haptic interaction of the second object. 24.A method comprising: generating images of a virtual environment,including a virtual representation of a display object and at least partof an avatar, for display to a user; generating a haptic interactionsignal in response to a configuration of the avatar relative to theobject in the virtual environment, by detecting an avatar contact regionof the avatar touching the object, and generating the haptic interactionsignal in dependence upon: simulated haptic interaction of a secondobject in the virtual environment; and a simulated propagation pathbetween the display object and the second object in the virtualenvironment; and providing a physical interaction with the user inresponse to a haptic interaction signal wherein the generating includessimulating the propagation path by applying a filtering operation to thehaptic interaction of the second object.
 25. A method comprising:generating images of a virtual environment, including a virtualrepresentation of a display object and at least part of an avatar, fordisplay to a user; and generating a haptic interaction signal inresponse to a configuration of the avatar relative to the object in thevirtual environment, by detecting an avatar contact region of the avatartouching the object, and generating the haptic interaction signal independence upon: simulated haptic interaction of a second object in thevirtual environment; and a simulated propagation path between thedisplay object and the second object in the virtual environment whereinthe generating includes simulating the propagation path by applying afiltering operation to the haptic interaction of the second object.